home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / efs_dir.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  844b  |  43 lines

  1. /*
  2.  * efs_dir.h
  3.  *
  4.  * Copyright (c) 1999 Al Smith
  5.  */
  6.  
  7. #ifndef __EFS_DIR_H__
  8. #define __EFS_DIR_H__
  9.  
  10. #define EFS_DIRBSIZE_BITS    EFS_BLOCKSIZE_BITS
  11. #define EFS_DIRBSIZE        (1 << EFS_DIRBSIZE_BITS)
  12.  
  13. struct efs_dentry {
  14.     __be32        inode;
  15.     unsigned char    namelen;
  16.     char        name[3];
  17. };
  18.  
  19. #define EFS_DENTSIZE    (sizeof(struct efs_dentry) - 3 + 1)
  20. #define EFS_MAXNAMELEN  ((1 << (sizeof(char) * 8)) - 1)
  21.  
  22. #define EFS_DIRBLK_HEADERSIZE    4
  23. #define EFS_DIRBLK_MAGIC    0xbeef    /* moo */
  24.  
  25. struct efs_dir {
  26.     __be16    magic;
  27.     unsigned char    firstused;
  28.     unsigned char    slots;
  29.  
  30.     unsigned char    space[EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE];
  31. };
  32.  
  33. #define EFS_MAXENTS \
  34.     ((EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE) / \
  35.      (EFS_DENTSIZE + sizeof(char)))
  36.  
  37. #define EFS_SLOTAT(dir, slot) EFS_REALOFF((dir)->space[slot])
  38.  
  39. #define EFS_REALOFF(offset) ((offset << 1))
  40.  
  41. #endif /* __EFS_DIR_H__ */
  42.  
  43.